/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package investigaciones_itm.Presupuestos;

import com.sun.webui.jsf.component.TextField;
import itm.bo.presupuestos.PresupuestosBO;
import itm.vo.presupuestos.PresupuestoVO;
import itm.vo.proyectosInvestigacion.ProyectoInvestigacionVO;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.faces.component.html.HtmlSelectOneMenu;
import javax.faces.context.FacesContext;
import javax.faces.event.ValueChangeEvent;
import javax.faces.event.ValueChangeListener;
import javax.faces.model.SelectItem;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author jimmy
 */
public class PresupuestarProyecto {

    private List<PresupuestoVO> listaPresupuesto = new ArrayList<PresupuestoVO>();
    private HtmlSelectOneMenu selectMenuProyecto = new HtmlSelectOneMenu();
    private PresupuestosBO presupuestoBO;
    private List<ProyectoInvestigacionVO> listaProyecto = new ArrayList<ProyectoInvestigacionVO>();
    private List<SelectItem> itemProyecto = new ArrayList<SelectItem>();
    private Long idProyecto;
    private int idPresupuesto;
    private TextField text;

    public PresupuestarProyecto() {
        this.obtenerProyectos();
    }

    protected void obtenerProyectos() {
        presupuestoBO = new PresupuestosBO();
        try {
            listaProyecto = presupuestoBO.listarProyectos_conRubros();
            for (int i = 0; i < listaProyecto.size(); i++) {
                itemProyecto.add(new SelectItem(Long.toString(listaProyecto.get(i).getIdProyecto()),
                        listaProyecto.get(i).getTituloProyecto()));
            }
        } catch (Exception ex) {
            Logger.getLogger(PresupuestarProyecto.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public void consultarPresupuesto(ValueChangeListener evt) {
        presupuestoBO = new PresupuestosBO();
   //     idProyecto = Integer.parseInt(selectMenuProyecto.getValue().toString());
        idProyecto = Long.parseLong(text.getValue().toString());
        FacesContext context = FacesContext.getCurrentInstance();
        HttpServletRequest request = (HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest();
	    request.setAttribute("idProyecto", idProyecto);
     //   listaPresupuesto = presupuestoBO.consultarPresupuesto(idProyecto);
        if (listaPresupuesto.size() == 0) {
            try {
                context.getExternalContext().redirect("../Presupuestos/RespuestaProyecto.jsp");
                context.responseComplete();
            } catch (IOException ex) {
                Logger.getLogger(PresupuestarProyecto.class.getName()).log(Level.SEVERE, null, ex);
            }
        }


    }

    public TextField getText() {
        return text;
    }

    public void setText(TextField text) {
        this.text = text;
    }

    

    public int getIdPresupuesto() {
        return idPresupuesto;
    }

    public void setIdPresupuesto(int idPresupuesto) {
        this.idPresupuesto = idPresupuesto;
    }

    public long getIdProyecto() {
        return idProyecto;
    }

    public void setIdProyecto(Long idProyecto) {
        this.idProyecto = idProyecto;
    }

    public List<SelectItem> getItemProyecto() {
        return itemProyecto;
    }

    public void setItemProyecto(List<SelectItem> itemProyecto) {
        this.itemProyecto = itemProyecto;
    }

    public List<PresupuestoVO> getListaPresupuesto() {
        return listaPresupuesto;
    }

    public void setListaPresupuesto(List<PresupuestoVO> listaPresupuesto) {
        this.listaPresupuesto = listaPresupuesto;
    }

    public List<ProyectoInvestigacionVO> getListaProyecto() {
        return listaProyecto;
    }

    public void setListaProyecto(List<ProyectoInvestigacionVO> listaProyecto) {
        this.listaProyecto = listaProyecto;
    }

    public HtmlSelectOneMenu getSelectMenuProyecto() {
        return selectMenuProyecto;
    }

    public void setSelectMenuProyecto(HtmlSelectOneMenu selectMenuProyecto) {
        this.selectMenuProyecto = selectMenuProyecto;
    }
}